Mixin-Based Aspect Inheritance

نویسندگان

  • Sven Apel
  • Thomas Leich
  • Gunter Saake
چکیده

Introducing mixin-based inheritance to AOP improves the capabilities of aspects to implement incremental designs. Since it enhances the inheritance mechanism with more flexibility, it is a key technology to reuse, compose, and evolve aspects in a step-wise manner over several development stages (step-wise aspect refinement). The introduction of mixin capabilities to aspects leads to the unification of the aspect’s structural elements with respect to step-wise refinement, i.e. in a chain of refining aspects every element (methods, pointcuts, advice) can be refined by subsequent elements without knowing the exact type of the enclosing aspect. In this context we introduce anonymous calls to parent pointcuts as well as named advice, a unification of advice and methods. Making these extensions to aspects, aspect refinement enables the programmer to implement higher-order aspects – aspects that modify other aspects. Furthermore, we show how to tame aspects using a bounded aspect quantification based on the knowledge of incremental designs. We contribute an extended AspectJ grammar, its formal semantics, as well as an implementation approach based on program transformation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Aspect Refinement and Bounded Quantification in Incremental Designs

This article investigates aspects in the context of the incremental software development, i.e. software product lines. Specifically, we propose the integration of aspects into AHEAD, an architectural model for feature-based product line development. We introduce the notion of aspect refinement based on Aspectual Mixin Layers, a novel technique for implementing features. Aspect refinement enable...

متن کامل

FeatureC++: Feature-Oriented and Aspect-Oriented Programming in C++

This paper presents FeatureC++, a novel programming language which supports Feature-Oriented Programming (FOP) for C++. Besides well-known concepts of FOP languages, FeatureC++ supports several novel FOP language features, in particular multiple inheritance and templates for Generic Programming. Furthermore, FeatureC++ solves, as some other FOP languages, the extensibility problem, the construc...

متن کامل

Mixin - Based Programming in C + + 1

Combinations of C++ features, like inheritance, templates, and class nesting, allow for the expression of powerful component patterns. In particular, research has demonstrated that, using C++ mixin classes, one can express layered component-based designs concisely with efficient implementations. In this paper, we discuss pragmatic issues related to component-based programming using C++ mixins. ...

متن کامل

Modular Inheritance of Objects Through Mixin-Methods

In object-oriented programming languages the class concept is heavily overworked. To simplify things, there is a tendency to unbundle the different roles they play by trying to create more modular inheritance operators [Bracha&Lindstrom92]. This offers the advantage that classes can be composed in a modular way. Prototype-based languages on the other hand, also provide a simpler view on object-...

متن کامل

Aspect-Oriented Development Using Protocol Modeling

The aim of this paper is to explore the modeling of crosscutting behavioral abstractions. We argue that behavioral aspects can be seen as a particular kind of more general behavioral abstraction called a “mixin”. Mixins support a compositional style of modeling, whereby a complete class definition is constructed by composing one or more mixins each of which represents a partial definition of th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005